1. Field of the Invention
Embodiments of the present invention relate to a method, medium, and system encoding/decoding video data, and more particularly, to a method, medium, and system encoding/decoding video data using binary arithmetic coding adaptive to a compression bitrate of video data.
2. Description of the Related Art
Compression bitrates for encoding video data may be designated differently for various applications. For example, a high bitrate may be used in a high quality application, such as in DVDs, to minimize losses that affect quality, while a low bitrate with lossy compression may be used in applications such as mobile devices due to bandwidth limitations.
Typically, entropy coding is used to compress generated data by using various kinds of coding methods and to produce a bit stream. As a representative coding method, Huffman coding is widely used. Recently, there has been development of a coding standard called H.264/AVC, ITU-T Recommendation H.264 and ISO/IEC 14496-10, MPEG-4 part 10, Advanced Video Coding, as developed by Joint Video Team (JVT), consisting of ISO/IEC MPEG and ITU-T VCEG. This standard allows a user to selectively use one of Huffman coding and arithmetic coding when a bit stream is created. Although the arithmetic coding has a higher complexity in comparison with the Huffman coding, it has an advantage in that it has a high compression rate by generating codes according to a statistical characteristic of given data.
In the H.264/AVC standard, given symbols are binarized and then the arithmetic coding is performed for the binarized symbols in order to increase coding efficiency. In addition, when the binarization is performed, various binarization methods are selectively used according to a classification of the symbols to increase a compression rate.
FIG. 1 illustrates an example of binarizing quantization coefficients according to such an H.264/AVC standard. The quantized transformation coefficients are binarized using a value of “abs_level_minus1,” obtained by subtracting 1 from each original coefficient. When the value of abs_level_minus1 is less than 14, each coefficient is mapped to a truncated unary (TU) code consisting of a continuation of “1” bits and terminating with a “0” bit. On the other hand, when the value of abs_level_minus1 is equal to or larger than 14, each prefix part less than 14 is mapped to a TU code, and the remaining suffix part equal to or larger than 14 is mapped to an exponential Golomb code having an order of “0”. In this method, different binarization methods are used depending on the magnitude of the coefficient, in order to adaptively apply a higher probability to smaller values that occur more frequently in the binarization and significantly increase arithmetic coding efficiency.
However, the probability distribution of quantization coefficients differs depending on compression bitrates. Since a maximum length of the prefix and an order of the exponential Golomb code are fixed in the current H.264/AVC standard, as mentioned above, prediction cannot be adaptively performed for a practical probability.
A context-based adaptive binary arithmetic coding is adopted in the H.264/AVC standard. In this method, a different context is extracted depending on conditions of other neighboring symbols when a certain symbol is decoded, and a probability is adaptively given to it in order to improve compression efficiency. In the H.264/AVC, the context for quantized coefficients is established using the number of certain decoded coefficients. The extracted context includes two factors, a state value (State) and Most Probability Symbol (MPS), with both the State and MPS representing information on probability characteristics. The context for quantized coefficients consists of a total of 10 pieces, including 5 pieces for a first binary number of the binarized value and 5 pieces for the remaining binary number. A current probability is predicted from 10 pieces of the context depending on conditions of neighboring binary numbers to perform the encoding/decoding.